/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package pessoas.presenter.stateContatoView;

import pessoas.collection.Contatos;
import pessoas.model.Contato;
import pessoas.model.Usuario;
import pessoas.presenter.ContatoPresenter;

/**
 *
 * @author Bush
 */
public class VisualizacaoState extends ManterContatoState{
   
    public VisualizacaoState(ContatoPresenter presenter, Contato contato) {
        super(presenter, contato);
        
        presenter.getView().getBtnSalvar().setText("Editar");
        presenter.getView().getTxtNome().setText(contato.getNome());
        presenter.getView().getTxtSobrenome().setText(contato.getSobrenome());
        String tel = contato.getTelefone().substring(4, 8) + contato.getTelefone().substring(9);
        if (tel.length() == 8) {
            presenter.getView().getTxtTelefone().setValue(contato.getTelefone().substring(0, 4) + contato.getTelefone().substring(4));
        } else {
            presenter.getView().getTxtTelefone().setValue(contato.getTelefone().substring(0, 4) + contato.getTelefone().substring(5));
        }
        presenter.getView().getComboUf().setSelectedItem(contato.getUf());
        presenter.getView().getComboOper().setSelectedItem(contato.getOperadora());
        
        presenter.getView().getBtnNovo().setVisible(true);        
        presenter.getView().getTxtNome().setEditable(false);
        presenter.getView().getTxtSobrenome().setEditable(false);
        presenter.getView().getTxtTelefone().setEditable(false);
        
        presenter.funcaoBtnSalvarEditar(true);// troca função do Botão para Edição
        presenter.pegaContatoView();
    }


    @Override
    public void salvar(Usuario usuario, Contatos contatos) {
        
    }

    @Override
    public void editar(Usuario usuario, Contatos contatos,Contato contato) {
        presenter.setEstado(new EdicaoState(presenter, contato));
    }

    @Override
    public void novo() {
        presenter.setEstado(new InclusaoState(presenter, null));
    }

    @Override
    public void fechar() {
        presenter.getView().dispose();
    }

 
    
}
